<?php

  require_once "JooS/Event.php";

  /**
   * Событие выступает в роли сигнала для копирования файла из phar в систему
   * attach происходит перед добавлением пакета
   * Хэлпер JooS_PHPackager_Helper_Copy вызывает функцию JooS_PHPackager_FS::copy
   * которая, в свою очередь и вызывает это событие
   *
   * @property string $realPath
   * @property string $path
   * @property JooS_PHPackager_File_Adapter $tmpFile
   */
  final class JooS_Event_Fs_File_Create extends JooS_Event {
    /**
     * @param string $realPath
     * @return JooS_Event_Fs_File_Create
     */
    public function setRealPath($realPath) {
      $this->realPath = $realPath;
      return $this;
    }

    /**
     * @param string $path
     * @return JooS_Event_Fs_File_Create 
     */
    public function setPath($path) {
      $this->path = $path;
      return $this;
    }

    /**
     * @param JooS_PHPackager_File_Adapter $tmpFile
     * @return JooS_Event_Fs_File_Create
     */
    public function setTmpFile(JooS_PHPackager_File_Adapter $tmpFile) {
      $this->tmpFile = $tmpFile;
      return $this;
    }

    /**
     * @return JooS_Event_Fs_File_Create
     */
    public static function getInstance() {
      return self::_getInstance(__CLASS__);
    }
  }
